<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>

<title>CaptureTypeVariable (randoop 4.1.0 API)</title>

<link rel="stylesheet" type="text/css" href="../../javadocstyle.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="CaptureTypeVariable (randoop 4.1.0 API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../randoop/types/ArrayType.html" title="class in randoop.types"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?randoop/types/CaptureTypeVariable.html" target="_top">Frames</a></li>
<li><a href="CaptureTypeVariable.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">randoop.types</div>
<h2 title="Class CaptureTypeVariable" class="title">Class CaptureTypeVariable</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../randoop/types/Type.html" title="class in randoop.types">randoop.types.Type</a></li>
<li>
<ul class="inheritance">
<li><a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">randoop.types.ReferenceType</a></li>
<li>
<ul class="inheritance">
<li><a href="../../randoop/types/ParameterType.html" title="class in randoop.types">randoop.types.ParameterType</a></li>
<li>
<ul class="inheritance">
<li><a href="../../randoop/types/TypeVariable.html" title="class in randoop.types">randoop.types.TypeVariable</a></li>
<li>
<ul class="inheritance">
<li>randoop.types.CaptureTypeVariable</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&gt;</dd>
</dl>
<hr>
<br>
<pre>class <span class="typeNameLabel">CaptureTypeVariable</span>
extends <a href="../../randoop/types/TypeVariable.html" title="class in randoop.types">TypeVariable</a></pre>
<div class="block">Represents a type variable introduced by capture conversion over a wildcard type argument.

 <p>A <code>CaptureTypeVariable</code> has both an upper and lower bound determined by combining the
 wildcard bound with the <a href="../../randoop/types/ParameterBound.html" title="class in randoop.types"><code>ParameterBound</code></a> on the type parameter. An object is constructed
 from a wildcard using the wildcard bound to determine the initial upper or lower bound. The
 <a href="../../randoop/types/CaptureTypeVariable.html#convert-randoop.types.TypeVariable-randoop.types.Substitution-"><code>convert(TypeVariable, Substitution)</code></a> method is then used to update the bounds to match
 the definition in JLS section 5.1.10, <a
 href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-5.html#jls-5.1.10">Capture
 Conversion</a>.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/CaptureTypeVariable.html#count">count</a></span></code>
<div class="block">The ID counter for capture conversion variables</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/CaptureTypeVariable.html#varID">varID</a></span></code>
<div class="block">The integer ID of this capture variable</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../randoop/types/WildcardArgument.html" title="class in randoop.types">WildcardArgument</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/CaptureTypeVariable.html#wildcard">wildcard</a></span></code>
<div class="block">The wildcard</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/CaptureTypeVariable.html#CaptureTypeVariable-int-randoop.types.WildcardArgument-randoop.types.ParameterBound-randoop.types.ParameterBound-">CaptureTypeVariable</a></span>(int&nbsp;varID,
                   <a href="../../randoop/types/WildcardArgument.html" title="class in randoop.types">WildcardArgument</a>&nbsp;wildcard,
                   <a href="../../randoop/types/ParameterBound.html" title="class in randoop.types">ParameterBound</a>&nbsp;lowerBound,
                   <a href="../../randoop/types/ParameterBound.html" title="class in randoop.types">ParameterBound</a>&nbsp;upperBound)</code>
<div class="block">Creates a <a href="../../randoop/types/CaptureTypeVariable.html" title="class in randoop.types"><code>CaptureTypeVariable</code></a> with explicitly given <code>ID</code>, wildcard, and bounds.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private)</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/CaptureTypeVariable.html#CaptureTypeVariable-randoop.types.WildcardArgument-">CaptureTypeVariable</a></span>(<a href="../../randoop/types/WildcardArgument.html" title="class in randoop.types">WildcardArgument</a>&nbsp;wildcard)</code>
<div class="block">Creates a <a href="../../randoop/types/CaptureTypeVariable.html" title="class in randoop.types"><code>CaptureTypeVariable</code></a> for the given wildcard.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/CaptureTypeVariable.html#apply-randoop.types.Substitution-">apply</a></span>(<a href="../../randoop/types/Substitution.html" title="class in randoop.types">Substitution</a>&lt;<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&gt;&nbsp;substitution)</code>
<div class="block">Applies a substitution to a <a href="../../randoop/types/ReferenceType.html" title="class in randoop.types"><code>ReferenceType</code></a>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/CaptureTypeVariable.html#convert-randoop.types.TypeVariable-randoop.types.Substitution-">convert</a></span>(<a href="../../randoop/types/TypeVariable.html" title="class in randoop.types">TypeVariable</a>&nbsp;typeParameter,
       <a href="../../randoop/types/Substitution.html" title="class in randoop.types">Substitution</a>&lt;<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&gt;&nbsp;substitution)</code>
<div class="block">Converts the bounds on this <code>CaptureTypeVariable</code> by including those of the formal type
 parameters of the generic type, and applying the implied substitution between the type
 parameters and capture conversion argument list.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../randoop/types/TypeVariable.html" title="class in randoop.types">TypeVariable</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/CaptureTypeVariable.html#createCopyWithBounds-randoop.types.ParameterBound-randoop.types.ParameterBound-">createCopyWithBounds</a></span>(<a href="../../randoop/types/ParameterBound.html" title="class in randoop.types">ParameterBound</a>&nbsp;lowerBound,
                    <a href="../../randoop/types/ParameterBound.html" title="class in randoop.types">ParameterBound</a>&nbsp;upperBound)</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/CaptureTypeVariable.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/CaptureTypeVariable.html#getName--">getName</a></span>()</code>
<div class="block">Returns the fully-qualified name of this type, including type arguments if this is a
 parameterized type.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/CaptureTypeVariable.html#getSimpleName--">getSimpleName</a></span>()</code>
<div class="block">Returns the name of this type without type arguments or package qualifiers.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/CaptureTypeVariable.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/CaptureTypeVariable.html#isCaptureVariable--">isCaptureVariable</a></span>()</code>
<div class="block">Indicates whether this type is a capture type variable as constructed by <a href="../../randoop/types/InstantiatedType.html#applyCaptureConversion--"><code>InstantiatedType.applyCaptureConversion()</code></a>.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/CaptureTypeVariable.html#isGeneric--">isGeneric</a></span>()</code>
<div class="block">Indicate whether this type is generic.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/CaptureTypeVariable.html#toString--">toString</a></span>()</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.randoop.types.TypeVariable">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;randoop.types.<a href="../../randoop/types/TypeVariable.html" title="class in randoop.types">TypeVariable</a></h3>
<code><a href="../../randoop/types/TypeVariable.html#canBeInstantiatedBy-randoop.types.ReferenceType-">canBeInstantiatedBy</a>, <a href="../../randoop/types/TypeVariable.html#forType-java.lang.reflect.Type-">forType</a>, <a href="../../randoop/types/TypeVariable.html#getRawtype--">getRawtype</a>, <a href="../../randoop/types/TypeVariable.html#getTypeParameters--">getTypeParameters</a>, <a href="../../randoop/types/TypeVariable.html#isAssignableFrom-randoop.types.Type-">isAssignableFrom</a>, <a href="../../randoop/types/TypeVariable.html#isInstantiationOf-randoop.types.ReferenceType-">isInstantiationOf</a>, <a href="../../randoop/types/TypeVariable.html#isSubtypeOf-randoop.types.Type-">isSubtypeOf</a>, <a href="../../randoop/types/TypeVariable.html#isVariable--">isVariable</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.randoop.types.ParameterType">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;randoop.types.<a href="../../randoop/types/ParameterType.html" title="class in randoop.types">ParameterType</a></h3>
<code><a href="../../randoop/types/ParameterType.html#getCanonicalName--">getCanonicalName</a>, <a href="../../randoop/types/ParameterType.html#getLowerTypeBound--">getLowerTypeBound</a>, <a href="../../randoop/types/ParameterType.html#getRuntimeClass--">getRuntimeClass</a>, <a href="../../randoop/types/ParameterType.html#getUpperTypeBound--">getUpperTypeBound</a>, <a href="../../randoop/types/ParameterType.html#hasGenericBound--">hasGenericBound</a>, <a href="../../randoop/types/ParameterType.html#hasWildcard--">hasWildcard</a>, <a href="../../randoop/types/ParameterType.html#setLowerBound-randoop.types.ParameterBound-">setLowerBound</a>, <a href="../../randoop/types/ParameterType.html#setUpperBound-randoop.types.ParameterBound-">setUpperBound</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.randoop.types.ReferenceType">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;randoop.types.<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a></h3>
<code><a href="../../randoop/types/ReferenceType.html#applyCaptureConversion--">applyCaptureConversion</a>, <a href="../../randoop/types/ReferenceType.html#forClass-java.lang.Class-">forClass</a>, <a href="../../randoop/types/ReferenceType.html#getInstantiatingSubstitution-randoop.types.ReferenceType-">getInstantiatingSubstitution</a>, <a href="../../randoop/types/ReferenceType.html#isReferenceType--">isReferenceType</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.randoop.types.Type">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;randoop.types.<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a></h3>
<code><a href="../../randoop/types/Type.html#compareTo-randoop.types.Type-">compareTo</a>, <a href="../../randoop/types/Type.html#forName-java.lang.String-">forName</a>, <a href="../../randoop/types/Type.html#forValue-java.lang.Object-">forValue</a>, <a href="../../randoop/types/Type.html#getUnqualifiedName--">getUnqualifiedName</a>, <a href="../../randoop/types/Type.html#isArray--">isArray</a>, <a href="../../randoop/types/Type.html#isAssignableFromTypeOf-T-">isAssignableFromTypeOf</a>, <a href="../../randoop/types/Type.html#isBoxedPrimitive--">isBoxedPrimitive</a>, <a href="../../randoop/types/Type.html#isClass--">isClass</a>, <a href="../../randoop/types/Type.html#isClassOrInterfaceType--">isClassOrInterfaceType</a>, <a href="../../randoop/types/Type.html#isEnum--">isEnum</a>, <a href="../../randoop/types/Type.html#isInterface--">isInterface</a>, <a href="../../randoop/types/Type.html#isNonreceiverType--">isNonreceiverType</a>, <a href="../../randoop/types/Type.html#isObject--">isObject</a>, <a href="../../randoop/types/Type.html#isParameterized--">isParameterized</a>, <a href="../../randoop/types/Type.html#isPrimitive--">isPrimitive</a>, <a href="../../randoop/types/Type.html#isRawtype--">isRawtype</a>, <a href="../../randoop/types/Type.html#isString--">isString</a>, <a href="../../randoop/types/Type.html#isVoid--">isVoid</a>, <a href="../../randoop/types/Type.html#runtimeClassIs-java.lang.Class-">runtimeClassIs</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="count">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>count</h4>
<pre>private static&nbsp;int count</pre>
<div class="block">The ID counter for capture conversion variables</div>
</li>
</ul>
<a name="varID">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>varID</h4>
<pre>private final&nbsp;int varID</pre>
<div class="block">The integer ID of this capture variable</div>
</li>
</ul>
<a name="wildcard">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>wildcard</h4>
<pre>private final&nbsp;<a href="../../randoop/types/WildcardArgument.html" title="class in randoop.types">WildcardArgument</a> wildcard</pre>
<div class="block">The wildcard</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="CaptureTypeVariable-randoop.types.WildcardArgument-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CaptureTypeVariable</h4>
<pre>CaptureTypeVariable(<a href="../../randoop/types/WildcardArgument.html" title="class in randoop.types">WildcardArgument</a>&nbsp;wildcard)</pre>
<div class="block">Creates a <a href="../../randoop/types/CaptureTypeVariable.html" title="class in randoop.types"><code>CaptureTypeVariable</code></a> for the given wildcard. Created object is not complete
 until <a href="../../randoop/types/CaptureTypeVariable.html#convert-randoop.types.TypeVariable-randoop.types.Substitution-"><code>convert(TypeVariable, Substitution)</code></a> is run.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>wildcard</code> - the wildcard argument</dd>
</dl>
</li>
</ul>
<a name="CaptureTypeVariable-int-randoop.types.WildcardArgument-randoop.types.ParameterBound-randoop.types.ParameterBound-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CaptureTypeVariable</h4>
<pre>private&nbsp;CaptureTypeVariable(int&nbsp;varID,
                            <a href="../../randoop/types/WildcardArgument.html" title="class in randoop.types">WildcardArgument</a>&nbsp;wildcard,
                            <a href="../../randoop/types/ParameterBound.html" title="class in randoop.types">ParameterBound</a>&nbsp;lowerBound,
                            <a href="../../randoop/types/ParameterBound.html" title="class in randoop.types">ParameterBound</a>&nbsp;upperBound)</pre>
<div class="block">Creates a <a href="../../randoop/types/CaptureTypeVariable.html" title="class in randoop.types"><code>CaptureTypeVariable</code></a> with explicitly given <code>ID</code>, wildcard, and bounds.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>varID</code> - the variable ID for the created variable</dd>
<dd><code>wildcard</code> - the wildcard for the created variable</dd>
<dd><code>lowerBound</code> - the lower type bound of the variable</dd>
<dd><code>upperBound</code> - the upper type bound of the variable</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="equals-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/ParameterType.html#equals-java.lang.Object-">equals</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ParameterType.html" title="class in randoop.types">ParameterType</a></code></dd>
</dl>
</li>
</ul>
<a name="hashCode--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashCode</h4>
<pre>public&nbsp;int&nbsp;hashCode()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/ParameterType.html#hashCode--">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ParameterType.html" title="class in randoop.types">ParameterType</a></code></dd>
</dl>
</li>
</ul>
<a name="toString--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/ParameterType.html#toString--">toString</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ParameterType.html" title="class in randoop.types">ParameterType</a></code></dd>
</dl>
</li>
</ul>
<a name="convert-randoop.types.TypeVariable-randoop.types.Substitution-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convert</h4>
<pre>public&nbsp;void&nbsp;convert(<a href="../../randoop/types/TypeVariable.html" title="class in randoop.types">TypeVariable</a>&nbsp;typeParameter,
                    <a href="../../randoop/types/Substitution.html" title="class in randoop.types">Substitution</a>&lt;<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&gt;&nbsp;substitution)</pre>
<div class="block">Converts the bounds on this <code>CaptureTypeVariable</code> by including those of the formal type
 parameters of the generic type, and applying the implied substitution between the type
 parameters and capture conversion argument list. Implements the clauses of the JLS section
 5.1.10, <a
 href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-5.html#jls-5.1.10">Capture
 Conversion</a>.

 <p>Creates an upper bound on a type variable resulting from a capture conversion (JLS section
 5.1.10) in the case that a wildcard has an upper bound other than Object. In particular, each
 object represents a bound on a variable <code>Si</code> in a parameterized type <code>C&lt;S1,...,Sn&gt;</code>
 defined as <code>glb(Bi, Ui[Ai:=Si])</code> where

 <ul>
   <li><code>Ui</code> is the upper bound on the type variable <code>Ai</code> in the declared class
       <code>C&lt;A1,...,An&gt;</code>,
   <li><code>glb(S, T)</code> for types <code>S</code> and <code>T</code> is the intersection type <code>S &amp;
       T</code>.
 </ul>

 The JLS states that if <code>S</code> and <code>T</code> are both class types not related as subtypes,
 then the greatest lower bound of the two types is a compiler error. Technically it is the null
 type.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>typeParameter</code> - the formal type parameter of the generic type</dd>
<dd><code>substitution</code> - the capture conversion substitution</dd>
</dl>
</li>
</ul>
<a name="getName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/Type.html#getName--">Type</a></code></span></div>
<div class="block">Returns the fully-qualified name of this type, including type arguments if this is a
 parameterized type. For <code>java.util.List&lt;T&gt;</code> return <code>"java.util.List&lt;T&gt;"</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../randoop/types/Type.html#getName--">getName</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the fully-qualified type name for this type</dd>
</dl>
</li>
</ul>
<a name="getSimpleName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSimpleName</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getSimpleName()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/Type.html#getSimpleName--">Type</a></code></span></div>
<div class="block">Returns the name of this type without type arguments or package qualifiers. For <code>java.util.List&lt;T&gt;</code>, returns <code>"List"</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../randoop/types/Type.html#getSimpleName--">getSimpleName</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the name of this type without type arguments</dd>
</dl>
</li>
</ul>
<a name="isCaptureVariable--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCaptureVariable</h4>
<pre>public&nbsp;boolean&nbsp;isCaptureVariable()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/ReferenceType.html#isCaptureVariable--">ReferenceType</a></code></span></div>
<div class="block">Indicates whether this type is a capture type variable as constructed by <a href="../../randoop/types/InstantiatedType.html#applyCaptureConversion--"><code>InstantiatedType.applyCaptureConversion()</code></a>. A capture type variable can only occur as a type
 argument in an <a href="../../randoop/types/InstantiatedType.html" title="class in randoop.types"><code>InstantiatedType</code></a> constructed by <a href="../../randoop/types/InstantiatedType.html#applyCaptureConversion--"><code>InstantiatedType.applyCaptureConversion()</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/ReferenceType.html#isCaptureVariable--">isCaptureVariable</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type is a capture type variable, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isGeneric--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isGeneric</h4>
<pre>public&nbsp;boolean&nbsp;isGeneric()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/Type.html#isGeneric--">Type</a></code></span></div>
<div class="block">Indicate whether this type is generic. A type is <i>generic</i> if it has one or more type
 variables.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/Type.html#isGeneric--">isGeneric</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type is generic, false otherwise</dd>
</dl>
</li>
</ul>
<a name="apply-randoop.types.Substitution-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>apply</h4>
<pre>public&nbsp;<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&nbsp;apply(<a href="../../randoop/types/Substitution.html" title="class in randoop.types">Substitution</a>&lt;<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&gt;&nbsp;substitution)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/ReferenceType.html#apply-randoop.types.Substitution-">ReferenceType</a></code></span></div>
<div class="block">Applies a substitution to a <a href="../../randoop/types/ReferenceType.html" title="class in randoop.types"><code>ReferenceType</code></a>. If the type is parameterized then replaces
 type variables that occur, otherwise returns this type.

 <p>This abstract method forces typing of substitutions applied to <a href="../../randoop/types/ReferenceType.html" title="class in randoop.types"><code>ReferenceType</code></a> objects
 without an explicit cast.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/TypeVariable.html#apply-randoop.types.Substitution-">apply</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/TypeVariable.html" title="class in randoop.types">TypeVariable</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>substitution</code> - the type substitution</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the type created by applying the substitution to this type</dd>
</dl>
</li>
</ul>
<a name="createCopyWithBounds-randoop.types.ParameterBound-randoop.types.ParameterBound-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>createCopyWithBounds</h4>
<pre>public&nbsp;<a href="../../randoop/types/TypeVariable.html" title="class in randoop.types">TypeVariable</a>&nbsp;createCopyWithBounds(<a href="../../randoop/types/ParameterBound.html" title="class in randoop.types">ParameterBound</a>&nbsp;lowerBound,
                                         <a href="../../randoop/types/ParameterBound.html" title="class in randoop.types">ParameterBound</a>&nbsp;upperBound)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../randoop/types/TypeVariable.html#createCopyWithBounds-randoop.types.ParameterBound-randoop.types.ParameterBound-">createCopyWithBounds</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/TypeVariable.html" title="class in randoop.types">TypeVariable</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../randoop/types/ArrayType.html" title="class in randoop.types"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?randoop/types/CaptureTypeVariable.html" target="_top">Frames</a></li>
<li><a href="CaptureTypeVariable.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
